package org.ku.hero.api.protocol;

/**
 * 命令
 *  0x05～0x06   平台传输数据占用 自定义
 *  0x09～0x7F   数据系统预留  上行    9-127
 *  0x83～0xBF   数据系统预留  下行    131-191
 *  0xC0～0xFE   平台交换自定义数据   192-254
 */
public enum Command {
    /** 车辆登入 **/
    VEHICLE_LOGIN(0x01),
    /** 实时信息上报 **/
    REAL_INFO_PUSH(0x02),
    /** 补发信息上报 **/
    REISSUE_INFO_PUSH(0x03),
    /** 车辆登出 **/
    VEHICLE_LOGOUT(0x04),
    /** 心跳 **/
    HEART_BEAT(0x07),
    /** 终端校时 **/
    TERMINAL_TIME(0x08),
    /** 查询命令 **/
    TERMINAL_QUERY(0x80),
    /** 设置名称 **/
    TERMINAL_SET(0x81),
    /** 车载终端控制命令 **/
    TERMINAL_CONTROL(0x82),

    UNKNOWN(0xFF);


    public final byte cmd;

    Command(int cmd){
        this.cmd = (byte) cmd;
    }

    public static Command toCmd(byte val){
        if (val > 0 && val < values().length) return values()[val - 1];
        return UNKNOWN;
    }

}
